/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package jmodcog2.timed;

import jmodcog2.base.BaseRunner;

/**
 * This project is the intellectual property and only to be used under license 
 * guidelines. Please see the containing license.txt file for license information
 * and availability of use. The author takes no responsibility for any damage
 * or non-functionality caused by use of this software.
 *
 * For use of any content with a different license, please contact the author.
 * 
 * @author Mitchel Strachan <technotheist@gmail.com>
 */
public abstract class FiringNet extends BaseRunner {

    int num_layers;
    int[] num_nodes;
    float[] current_time = new float[2];
    float[] charge0;
    float[] charge1;
    float[] lastFired0;
    float[] lastFired1;
    float[] decay;
    float[] threshhold;
    
    //if prev neuron fired just before next, strengthen synapse
    //if next neuron fired just before prev, weaken synapse
    //the greater the time difference, the lower the rate of change
    int[] num_receptors;    //per node
    int[] recptor_index0;   //per node
    int[] receptor_nodes;   
    float[] receptor_weights;

    public FiringNet(FiringNetConfig config) {
        super(config);
    }
    
    
    //
    
    void update(float t, int node) {
        
    }
    
    float _current_time() {
        return current_time[getPassId()%2];
    }
    
    float _decay(int node) {
        return decay[node];
    }
    
    
}
